package com.bt.lms.service;

import com.bt.lms.entity.page.Page;
import com.bt.lms.entity.TeacherBasicInfo;
import com.bt.lms.bo.TeacherList;


/**
 * 教师信息服务
 * @author 李舒淇
 */
public interface TeacherBasicInfoService {

    /**
     * 分页条件查询教师基本信息功能
     * @param page 分页条件模型
     *                  每一页条数:
     *                  页码:
     *                  数据：（分页条件）
     * @return 分页模型
     *         每页多少条数据
     *         总条数：
     *         页码：
     *         数据：（教师列表）
     */
    public Page<TeacherList> query(Page<TeacherList> page);

    /**
     * 新增教师功能
     * @param teacherBasicInfo 教师基本信息
     * @return 是否成功
     */
    public boolean add(TeacherBasicInfo teacherBasicInfo) throws Exception;


    /**
     * 编辑教师基本信息功能
     * @param id  师基本信息 id
     * @param teacherBasicInfo   教师基本信息原数据
     * @return  是否成功
     */
    public boolean edit(Long id ,TeacherBasicInfo teacherBasicInfo) throws Exception;


    /**
     * 查看教师基本信息功能
     * @param ID  教师ID
     * @return TeacherBasicInfo 教师基本信息
     */
    public TeacherBasicInfo details(Long ID) throws Exception;

    /**
     * 启用教师教学功能
     * @param ID 教师ID
     * @return 是否成功
     */
    public boolean enable(Long ID) throws Exception;

    /**
     * 停用教师教学功能
     * @param ID  教师ID
     * @return 是否成功
     */
    public boolean stop(Long ID) throws Exception;


    /**
     *  教师在职功能
     * @param ID  教师ID
     * @return 是否成功
     */
    public boolean onJob(Long ID) throws Exception;

    /**
     * 教师离职功能
     * @param ID  教师ID
     * @return 是否成功
     */
    public boolean leaveOffice(Long ID) throws Exception;





}
